﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Cleverscape.UTorrentClient.WebClient.ServiceDefinition
{
    [DataContract(Namespace = "")]
    public class UpdatedTorrentsAndLabels
    {
        [DataMember(Name = "build", Order = 1)]
        public int BuildNumber { get; set; }

        [DataMember(Name = "label", Order = 2)]
        public LabelsList Labels { get; set; }

        [DataMember(Name = "torrentp", Order = 3)]
        public ChangedTorrentsList ChangedTorrents { get; set; }

        [DataMember(Name = "torrentm", Order = 4)]
        public RemovedTorrentsList RemovedTorrents { get; set; }

        

        [DataMember(Name = "rssfeedp", Order = 5)]
        public ChangedFeedsList ChangedFeeds { get; set; }

        [DataMember(Name = "rssfeedm", Order = 6)]
        public RemovedFeedsList RemovedFeeds { get; set; }

        [DataMember(Name = "rssfilterp", Order = 7)]
        public ChangedFiltersList ChangedFilters { get; set; }

        [DataMember(Name = "rssfilterm", Order = 8)]
        public RemovedFiltersList RemovedFilters { get; set; }

        [DataMember(Name = "torrentc", Order = 9)]
        public string CacheID { get; set; }

        
    }

    [CollectionDataContract(Namespace = "")]
    public class ChangedTorrentsList : List<string[]>
    {

    }

    [CollectionDataContract(Namespace = "")]
    public class RemovedTorrentsList : List<string>
    {

    }

    [CollectionDataContract(Namespace = "")]
    public class ChangedFeedsList : List<object[]>
    {

    }

    [CollectionDataContract(Namespace = "")]
    public class RemovedFeedsList : List<object>
    {

    }

    [CollectionDataContract(Namespace = "")]
    public class ChangedFiltersList : List<string[]>
    {

    }

    [CollectionDataContract(Namespace = "")]
    public class RemovedFiltersList : List<string>
    {

    }
}
